#pragma once

#ifdef  DEF_PLATFORM_WINDOWS

extern Hazal::CApplication* Hazal::CreateApplication();

int main(int argc, char** argv)
{
	Hazal::CLog::Init();

	HZ_PROFILE_BEGIN_SESSION("Startup", "HazalProfile_Statup.json")
	auto app = Hazal::CreateApplication();
	HZ_PROFILE_END_SESSION()

	HZ_PROFILE_BEGIN_SESSION("Runtime", "HazalProfile_Runtime.json")
	app->Run();
	HZ_PROFILE_END_SESSION()

	HZ_PROFILE_BEGIN_SESSION("Shutdown", "HazalProfile_Shutdown.json")
	app->Run();
	HZ_PROFILE_END_SESSION()
}

#else
	#error Hazal only suport on Windows
#endif //  DEF_PLATFORM_WINDOWS
